home *** CD-ROM | disk | FTP | other *** search
/ Software Vault: The Gold Collection / Software Vault - The Gold Collection (American Databankers) (1993).ISO / cdr26 / netprog.zip / NETPROG.TAR / net / dgecho.c < prev    next >
C/C++ Source or Header  |  1989-12-17  |  695b  |  31 lines

  1. /*
  2.  * Read a datagram from a connectionless socket and write it back to
  3.  * the sender.
  4.  *
  5.  * We never return, as we never know when a datagram client is done.
  6.  */
  7.  
  8. #include    <sys/types.h>
  9. #include    <sys/socket.h>
  10.  
  11. #define    MAXMESG    2048
  12.  
  13. dg_echo(sockfd, pcli_addr, maxclilen)
  14. int        sockfd;
  15. struct sockaddr    *pcli_addr;    /* ptr to appropriate sockaddr_XX structure */
  16. int        maxclilen;    /* sizeof(*pcli_addr) */
  17. {
  18.     int    n, clilen;
  19.     char    mesg[MAXMESG];
  20.  
  21.     for ( ; ; ) {
  22.         clilen = maxclilen;
  23.         n = recvfrom(sockfd, mesg, MAXMESG, 0, pcli_addr, &clilen);
  24.         if (n < 0)
  25.             err_dump("dg_echo: recvfrom error");
  26.  
  27.         if (sendto(sockfd, mesg, n, 0, pcli_addr, clilen) != n)
  28.             err_dump("dg_echo: sendto error");
  29.     }
  30. }
  31.